home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Code / FIELD / _dq803.as next >
Encoding:
Text File  |  2010-05-14  |  7.9 KB  |  286 lines

  1. package Code.FIELD
  2. {
  3.    import Box2D.Collision.Shapes.*;
  4.    import Box2D.Common.Math.b2Vec2;
  5.    import Code.FIELD.body.*;
  6.    import Code.FIELD.effects._xj355;
  7.    import Code.FIELD.helpers.*;
  8.    import Code.FIELD.interfaces._ny544;
  9.    import Code.LIB.*;
  10.    import Code.LIB.COMPONENTS.*;
  11.    import Code.LIB.SOUND._bu111;
  12.    import Code.OPTIONS._gs337;
  13.    import Code._fi197;
  14.    import flash.events.*;
  15.    import mochi.as3.MochiDigits;
  16.    
  17.    public class _dq803 extends _gt710
  18.    {
  19.       public static const FPS:int = 25;
  20.       
  21.       public static const SPEED_BEGINNER:int = int(5.6 * FPS);
  22.       
  23.       public static const SPEED_LOW:int = int(5.3 * FPS);
  24.       
  25.       public static const SPEED_MEDIUM:int = int(4.5 * FPS);
  26.       
  27.       public static const SPEED_HIGH:int = int(4 * FPS);
  28.       
  29.       public static const SPEED_EXTRA:int = int(3.5 * FPS);
  30.       
  31.       public static const SPEED_ARRRR:int = int(2.3 * FPS);
  32.       
  33.       public static const PHYS_SCALE:Number = 30;
  34.       
  35.       public static const stShow:int = 0;
  36.       
  37.       public static const stNormal:int = 1;
  38.       
  39.       public static const stPause:int = 2;
  40.       
  41.       public static const stWin:int = 3;
  42.       
  43.       public static const stGameOver:int = 4;
  44.       
  45.       public var iDeadLine:Number;
  46.       
  47.       private var iPause:Boolean = false;
  48.       
  49.       private var iExploded:int;
  50.       
  51.       private var iSelecter:_dm218;
  52.       
  53.       private var iPb:_is281;
  54.       
  55.       private var iGenerator:_nq133;
  56.       
  57.       private var iCheckTimer:int;
  58.       
  59.       private var iState:int;
  60.       
  61.       public var iWorld:_pn539;
  62.       
  63.       public var iBShake:_ct751;
  64.       
  65.       public var iLevel:Object;
  66.       
  67.       public var iScore:MochiDigits;
  68.       
  69.       public var iEmitPoints:Array;
  70.       
  71.       public function _dq803(param1:Object, param2:TShapeType, param3:int)
  72.       {
  73.          var _loc4_:Array = null;
  74.          var _loc5_:Array = null;
  75.          var _loc6_:int = 0;
  76.          var _loc7_:b2Vec2 = null;
  77.          iPause = false;
  78.          _loc4_ = [[_fi197._tr788,"shakes",_gs337.cAqua,90,35,15,_gs337.cWhite,null,430,420,"iBShake",true]];
  79.          super(_loc4_);
  80.          iLevel = param1;
  81.          iEmitPoints = new Array();
  82.          _loc5_ = (iLevel.map.emitPoints as Array).slice(0,iLevel.map.emitPoints.length);
  83.          _loc6_ = 0;
  84.          while(_loc6_ < _loc5_.length)
  85.          {
  86.             _loc7_ = _loc5_[_loc6_];
  87.             iEmitPoints.push(new b2Vec2(_loc7_.x,_loc7_.y - 120 - _loc6_ * 120));
  88.             _loc6_++;
  89.          }
  90.          iDeadLine = iLevel.map.deadLine[0].y;
  91.          iScore = new MochiDigits();
  92.          iWorld = new _pn539(this,param2);
  93.          iGenerator = new _nq133(this,iLevel.speed,iLevel.bonusDelay,param3);
  94.          addChild(iWorld.iDisplay);
  95.          addChild(iWorld.iArtifactsC);
  96.          this.init();
  97.          iSelecter = new _dm218(this);
  98.          alpha = 1;
  99.          iBShake._xs48 = "shakes: " + iWorld.iShakes;
  100.          _xe768(10,10);
  101.          iGenerator._to710();
  102.          State = stNormal;
  103.       }
  104.       
  105.       public function get pause() : Boolean
  106.       {
  107.          return iPause == true;
  108.       }
  109.       
  110.       public function set pause(param1:Boolean) : void
  111.       {
  112.          iPause = param1;
  113.          iSelecter.iOff = param1;
  114.       }
  115.       
  116.       private function init() : void
  117.       {
  118.          var _loc1_:Array = null;
  119.          _loc1_ = _wo607._ao618(200);
  120.          iPb = new _is281(_loc1_[1],_loc1_[0],_loc1_[2]);
  121.          iPb._xe768(570,290);
  122.          addChild(iPb);
  123.          iExploded = 0;
  124.       }
  125.       
  126.       override public function _fl204(param1:MouseEvent) : void
  127.       {
  128.          if(iPause)
  129.          {
  130.             return;
  131.          }
  132.          super._fl204(param1);
  133.          switch(iState)
  134.          {
  135.             case stNormal:
  136.                _mu339(param1);
  137.          }
  138.       }
  139.       
  140.       private function _mu339(param1:MouseEvent) : void
  141.       {
  142.          var _loc2_:_kc461 = null;
  143.          var _loc3_:Array = null;
  144.          var _loc4_:Number = NaN;
  145.          var _loc5_:_xj355 = null;
  146.          if(param1.target == iBShake._en365)
  147.          {
  148.             if(iWorld.iShakes > 0)
  149.             {
  150.                iWorld._np605(2);
  151.                --iWorld.iShakes;
  152.                iBShake._xs48 = "shakes: " + iWorld.iShakes;
  153.                iCheckTimer = 0;
  154.                return;
  155.             }
  156.          }
  157.          if(param1.target is _ny544)
  158.          {
  159.             iWorld._gy612(_ny544(param1.target));
  160.          }
  161.          else if(param1.target is _wx790)
  162.          {
  163.             _loc2_ = _wx790(param1.target).iShape;
  164.             if(_loc2_ is _ny544)
  165.             {
  166.                iWorld._gy612(_ny544(_loc2_));
  167.                return;
  168.             }
  169.             if(_loc2_)
  170.             {
  171.                _loc3_ = iWorld.iContactSolver._hd293(_loc2_);
  172.                if(_loc3_.length < 3)
  173.                {
  174.                   _loc3_ = iSelecter.brunch;
  175.                }
  176.                if(_loc3_.length >= 3)
  177.                {
  178.                   iWorld._fq230(_loc3_);
  179.                   _lf388 += _loc3_.length;
  180.                   iScore._au109(_loc3_.length * 5);
  181.                   if(_loc3_.length >= 5)
  182.                   {
  183.                      iScore._au109(15);
  184.                      _loc5_ = new _xj355(23,_gs337.cWhite,_my111.SmallText);
  185.                      _loc5_.Text = "+15 " + _gs337.iLanguage.strBonusPoints;
  186.                      _loc5_._xe768(mouseX / _rs402._oy577,mouseY / _rs402._oy577);
  187.                      addChild(_loc5_);
  188.                   }
  189.                   _loc4_ = Math.random() * 10;
  190.                   if(_loc4_ <= 5)
  191.                   {
  192.                      _bu111._wu209("pop1");
  193.                   }
  194.                   else
  195.                   {
  196.                      _bu111._wu209("pop2");
  197.                   }
  198.                }
  199.             }
  200.          }
  201.       }
  202.       
  203.       public function get State() : int
  204.       {
  205.          return iState;
  206.       }
  207.       
  208.       public function set _lf388(param1:int) : void
  209.       {
  210.          this.iExploded = param1;
  211.          this.iPb._io94 = iExploded / iLevel.needToExplode * 100;
  212.       }
  213.       
  214.       public function get score() : Number
  215.       {
  216.          return iScore.value;
  217.       }
  218.       
  219.       override public function _dx150() : void
  220.       {
  221.          super._dx150();
  222.          iSelecter._dx150();
  223.          iWorld._dx150();
  224.          trace("free");
  225.       }
  226.       
  227.       override public function onEnterFrame(param1:Event) : void
  228.       {
  229.          var _loc2_:Number = NaN;
  230.          if(iPause)
  231.          {
  232.             return;
  233.          }
  234.          super.onEnterFrame(param1);
  235.          switch(iState)
  236.          {
  237.             case stNormal:
  238.                iWorld.onEnterFrame();
  239.                iGenerator.onEnterFrame();
  240.                if(++iCheckTimer > 130)
  241.                {
  242.                   iCheckTimer = 0;
  243.                   _loc2_ = iWorld._fp416();
  244.                   if(_loc2_ <= iDeadLine)
  245.                   {
  246.                      State = stGameOver;
  247.                   }
  248.                }
  249.                if(iExploded >= iLevel.needToExplode)
  250.                {
  251.                   State = stWin;
  252.                }
  253.                break;
  254.             case stWin:
  255.                iWorld.onEnterFrame();
  256.          }
  257.       }
  258.       
  259.       public function get _lf388() : int
  260.       {
  261.          return iExploded;
  262.       }
  263.       
  264.       public function set State(param1:int) : void
  265.       {
  266.          iState = param1;
  267.          switch(iState)
  268.          {
  269.             case stNormal:
  270.                iGenerator.start();
  271.                iCheckTimer = 0;
  272.                break;
  273.             case stGameOver:
  274.                iWorld.stop = true;
  275.                iSelecter.iOff = true;
  276.                iGenerator.stop();
  277.                break;
  278.             case stWin:
  279.                iSelecter.iOff = true;
  280.                iGenerator.stop();
  281.          }
  282.       }
  283.    }
  284. }
  285.  
  286.